1. Field of the Invention
The present invention relates generally to data transfer methodologies, more particularly, to an event polling mechanism.
2. Description of the Related Art
In typical computer systems, peripheral devices can signal asynchronous events upstream by various protocols. Each protocol typically requires at least one dedicated pin on the peripheral devices and at least one dedicated pin on the master device. On very low-cost devices, dedicating a pin for asynchronous event signal service will typically incur extra costs, or may limit the potential functionality of the device.
Systems that forward DMA requests to a different protocol typically use pins dedicated to DMA requests. In LPC DMA systems, a single LDRQ# pin usually provides up to eight DMA requests from one slave device with various peripherals, but conveys no other type of synchronous or asynchronous information (events). Each LDRQ# is typically a peer-to-peer connection. If more than one slave device contains a DMA peripheral, each device usually has to use a separate LDRQ# pin on the master device. For PC/PCI DMA, each DMA request is signaled on individual dedicated pins requiring up to eight dedicated pins on each master and slave device.
Systems that implement serial interrupt request (SIRQ) typically provide a mechanism for conveying and sharing multiple interrupts requests between multiple slaves devices via open drain time division multiplexing (TDM). However, SIRQ does not permit other (non-IRQ) asynchronous events to share the pin or protocol.
Systems that rely on software polling suffer both from long and possibly unpredictable latency in responding to event service requests, as well as putting what may be an undesirable load on the software in generating the poll requests.
Many other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.